#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
    printf("begin:我是一个进程，pid:%d,ppid:%d\n",getpid(),getppid());
    
    pid_t id = fork();
    if(id == 0)
    {
        // 子进程
        while(1)
        {
            printf("我是子进程，pid:%d，ppid:%d\n",getpid(),getppid());
            sleep(1);
        }
    }
    else if(id > 0)
    {
        // 父进程
        while(1)
        {
            printf("我是父进程，pid:%d,ppid:%d\n",getpid(),getppid());
            sleep(1);
        }
    }
    else
    {
        // error
    }

    /*pid_t id = getpid();                       // pid_t 表示进程ID的数据类型
    pid_t fid = getppid();

    while(1)
    {
        printf("进程pid:%d ",id);
        printf("父进程ppid:%d\n",fid);

        printf("进程pid:%d ",getpid());         // 获取进程pid
        printf("父进程ppid:%d\n",getppid());    // 获取父进程ppid
        
        sleep(1);
    }*/

    return 0;
}
